package org.wang.generalcode.modules.sys.service;

import org.wang.generalcode.modules.sys.excel.UserExportDTO;
import org.wang.generalcode.modules.sys.pojo.params.UserParams;
import org.wang.generalcode.modules.sys.pojo.entity.User;
import org.wang.generalcode.modules.sys.pojo.params.UserPageParams;
import org.wang.generalcode.modules.sys.pojo.vo.UserPageVO;
import org.wang.generalcode.modules.sys.pojo.vo.UserVO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.wang.generalcode.support.result.Result;

import java.util.List;

/**
 * 用户信息表 服务类
 *
 * @author wz
 * @since 2024-08-08
 */
public interface IUserService extends IService<User> {

	/**
	 * 自定义分页
	 *
	 * @param page
	 * @param queryParams
	 * @return
	 */
	IPage<UserPageVO> selectUserPage(IPage<UserPageVO> page, UserPageParams queryParams);

	/**
	 *
	 * @return
	 */
	UserVO getCurrentUserInfo();

	/**
	 * 验证验证码
	 * @param captchaKey
	 * @param captchaCode
	 * @return
	 */
	Result validateCaptcha(String captchaKey, String captchaCode);


	boolean saveUser(UserParams userParams);

	List<UserExportDTO> listExportUsers(UserPageParams queryParams);

	boolean updateUser(UserParams userParams);
}
